#include "../mm/vm.h"
#include "printf.h"
#include "../mm/pmm.h"
#include "../trap/trap.h"
#include "console.h"
#include "../proc/proc.h"

void main(void) {
  console_init();
  printf("xv6-riscv: booting...\n");
  
  // 初始化陷阱系统
  trap_init();
  
  // 初始化物理内存管理
  pmm_init();
  
  // 初始化内核虚拟内存
  kvminit();
  kvminithart();
  
  // 初始化进程系统
  procinit();
  
  userinit();

  //test_userProcess();
  // 进入调度器循环（永不返回）
  scheduler();
}